// var i;
// var $popupBase = require("../../resources/scripts/AL_Framework_Popup_Base");
// var AL_GAME_HUA_Common = require("./AL_GAME_HUA_Common");
// var l = cc._decorator;
// var u = l.ccclass;
// var p =
//     (l.property,
//     (function (e) {
//         function t() {
//             var t = (null !== e && e.apply(this, arguments)) || this;
//             t.nameArr = [
//                 "win",
//                 "lose",
//                 "challengeResult",
//                 "timeOver",
//                 "setting",
//                 "recieve",
//                 "quit",
//                 "propStart",
//                 "loginGift",
//                 "challengePanel",
//                 "award",
//                 "addVit",
//                 "addprop",
//                 "addcoin"
//             ];
//             return t;
//         }
//         __extends(t, e);
//         t.prototype.onLoad = function () {
//             var t = this;
//             if (e.prototype.onLoad) {
//                 e.prototype.onLoad.call(this);
//             }
//             this.show();
//             ailin_sdk_manager.addListenerBackKey({
//                 node: this.node,
//                 callBack: function () {
//                     t.chuli_fanhui_anniu_chumo_shijian();
//                 }
//             });
//         };
//         t.prototype.start = function () {
//             AL_GAME_HUA_Common.Common.bofang_yinxiao("pop_up");
//         };
//         t.prototype.chuli_fanhui_anniu_chumo_shijian = function () {
//             this.close();
//         };
//         t.prototype.xianshi_dongzuo = function () {
//             var e = this;
//             return new Promise(function (t) {
//                 e.window.scale = 0.8;
//                 cc.tween(e.window)
//                     .to(
//                         0.15,
//                         {
//                             scale: 1
//                         },
//                         {
//                             easing: "backOut"
//                         }
//                     )
//                     .call(function () {
//                         t();
//                     })
//                     .start();
//             });
//         };
//         t.prototype.yincang_dongzuo = function () {
//             return Promise.resolve();
//         };
//         t.prototype.chuli_yincang_hou = function () {
//             this.node.destroy();
//         };
//         return __decorate([u], t);
//     })($popupBase.default));
// exports.default = p;


const AL_Framework_Popup_Base = require("../../resources/scripts/AL_Framework_Popup_Base");
const Common = require("./AL_GAME_HUA_Common");
const { ccclass, property } = cc._decorator;

/**
 * 横向移动动画组件，继承自 AL_Framework_Popup_Base
 */
@ccclass
class Popup extends AL_Framework_Popup_Base.default {
    constructor() {
        super();
        /**
         * 弹窗名称数组
         * @type {string[]}
         */
        this.nameArr = [
            "win", "lose", "challengeResult", "timeOver", "setting",
            "recieve", "quit", "propStart", "loginGift", "challengePanel",
            "award", "addVit", "addprop", "addcoin"
        ];
    }

    /**
     * 加载完成触发的事件
     */
    onLoad() {
        // 调用父类的 onLoad 方法
        if (super.onLoad) {
            super.onLoad.call(this);
        }

        // 显示弹窗
        this.show();

        // 添加返回键监听器
        ailin_sdk_manager.addListenerBackKey({
            node: this.node,
            callBack: () => {
                this.chuli_fanhui_anniu_chumo_shijian();
            }
        });
    }

    /**
     * 脚本开始方法
     */
    start() {
        // 播放弹出音效
        Common.Common.bofang_yinxiao("pop_up");
    }

    /**
     * 返回键触摸处理
     */
    chuli_fanhui_anniu_chumo_shijian() {
        // 关闭弹窗
        this.close();
    }

    /**
     * 显示动作
     * @returns {Promise}
     */
    xianshi_dongzuo() {
        return new Promise((resolve) => {
            // 设置窗口缩放
            this.window.scale = 0.8;
            cc.tween(this.window)
                .to(0.15, { scale: 1 }, { easing: "backOut" })
                .call(() => {
                    // 动作完成后resolve Promise
                    resolve();
                })
                .start();
        });
    }

    /**
     * 隐藏动作
     * @returns {Promise}
     */
    yincang_dongzuo() {
        return Promise.resolve(); // 返回立即 resolve 的 Promise
    }

    /**
     * 隐藏后事件
     */
    chuli_yincang_hou() {
        // 销毁该节点
        this.node.destroy();
    }
}

exports.default = Popup;